﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;
using System.Data.SqlClient;

using Padelcenter.Common;

namespace Padelcenter.DataAccess
{
    #region " SELECT "
        
    #region " MetodoPago Select "
    public class MetodoPago_Select : DataAccessBase
    {
        public MetodoPago_Select() 
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPago_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPago_Select_Prm metodoPago_Select_Prm = new MetodoPago_Select_Prm(this.MetodoPago);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPago_Select_Prm.Parameters);

            return ds;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }
    }
    public class MetodoPago_Select_Prm
    {
        public MetodoPago_Select_Prm(MetodoPago metodoPago)
        {
            this.MetodoPago = metodoPago;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"     , this.MetodoPago.IdMetodoPago),
                new SqlParameter( "@ConFiltroActivo"  , this.MetodoPago.ConFiltroActivo),
                new SqlParameter( "@Activo"  , this.MetodoPago.Activo),
                new SqlParameter( "@ConFiltroEsTarjeta"  , this.MetodoPago.ConFiltroEsTarjeta),
                new SqlParameter( "@EsTarjeta"  , this.MetodoPago.EsTarjeta)
            };

            this.Parameters = parameters;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    #region " MetodoPagoDescripcion Select "
    public class MetodoPagoDescripcion_Select : DataAccessBase
    {
        public MetodoPagoDescripcion_Select()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoDescripcion_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoDescripcion_Select_Prm metodoPagoDescripcion_Select_Prm = new MetodoPagoDescripcion_Select_Prm(this.MetodoPagoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoDescripcion_Select_Prm.Parameters);

            return ds;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }
    }
    public class MetodoPagoDescripcion_Select_Prm
    {
        public MetodoPagoDescripcion_Select_Prm(MetodoPagoDescripcion metodoPagoDescripcion) 
        {
            this.MetodoPagoDescripcion = metodoPagoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoDescripcion.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idIdioma"           , this.MetodoPagoDescripcion.Idioma.IdIdioma)
            };

            this.Parameters = parameters;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    #region " MetodoPagoZona Select "
    public class MetodoPagoZona_Select : DataAccessBase
    {
        public MetodoPagoZona_Select() 
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoZona_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoZona_Select_Prm metodoPagoZona_Select_Prm = new MetodoPagoZona_Select_Prm(this.MetodoPagoZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoZona_Select_Prm.Parameters);

            return ds;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }
    }
    public class MetodoPagoZona_Select_Prm
    {
        public MetodoPagoZona_Select_Prm(MetodoPagoZona metodoPagoZona)
        {
            this.MetodoPagoZona = metodoPagoZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoZona.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idZona"             , this.MetodoPagoZona.Zona.IdZona),
                new SqlParameter( "@ConFiltroActivo"    , this.MetodoPagoZona.ConFiltroActivo),
                new SqlParameter( "@Activo"             , this.MetodoPagoZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #endregion

    #region " INSERT "

    #region " MetodoPago Insert "
    public class MetodoPago_Insert : DataAccessBase
    {
        public MetodoPago_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPago_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPago_Insert_Prm metodoPago_Insert_Prm = new MetodoPago_Insert_Prm(this.MetodoPago);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPago_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }
    }
    public class MetodoPago_Insert_Prm
    {
        public MetodoPago_Insert_Prm(MetodoPago metodoPago)
        {
            this.MetodoPago = metodoPago;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@Descripcion"  , this.MetodoPago.Descripcion),
                new SqlParameter( "@Activo"  , this.MetodoPago.Activo),
                new SqlParameter( "@EsTarjeta"  , this.MetodoPago.EsTarjeta)
            };

            this.Parameters = parameters;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    
    #region " MetodoPagoDescripcion Insert "
    public class MetodoPagoDescripcion_Insert : DataAccessBase
    {
        public MetodoPagoDescripcion_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoDescripcion_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoDescripcion_Insert_Prm metodoPagoDescripcion_Insert_Prm = new MetodoPagoDescripcion_Insert_Prm(this.MetodoPagoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoDescripcion_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }
    }
    public class MetodoPagoDescripcion_Insert_Prm
    {
        public MetodoPagoDescripcion_Insert_Prm(MetodoPagoDescripcion metodoPagoDescripcion)
        {
            this.MetodoPagoDescripcion = metodoPagoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoDescripcion.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idIdioma"           , this.MetodoPagoDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"        , this.MetodoPagoDescripcion.Descripcion),
            };

            this.Parameters = parameters;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    #region " MetodoPagoZona Insert "
    public class MetodoPagoZona_Insert : DataAccessBase
    {
        public MetodoPagoZona_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoZona_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoZona_Insert_Prm metodoPagoZona_Insert_Prm = new MetodoPagoZona_Insert_Prm(this.MetodoPagoZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoZona_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }
    }
    public class MetodoPagoZona_Insert_Prm
    {
        public MetodoPagoZona_Insert_Prm(MetodoPagoZona metodoPagoZona)
        {
            this.MetodoPagoZona = metodoPagoZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoZona.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idZona"             , this.MetodoPagoZona.Zona.IdZona),
                new SqlParameter( "@Activo"             , this.MetodoPagoZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    
    #endregion

    #region " UPDATE "

    #region " MetodoPago Update "
    public class MetodoPago_Update : DataAccessBase
    {
        public MetodoPago_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPago_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPago_Update_Prm metodoPago_Update_Prm = new MetodoPago_Update_Prm(this.MetodoPago);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPago_Update_Prm.Parameters);

            return ds;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }
    }
    public class MetodoPago_Update_Prm
    {
        public MetodoPago_Update_Prm(MetodoPago metodoPago)
        {
            this.MetodoPago = metodoPago;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"   , this.MetodoPago.IdMetodoPago),
                new SqlParameter( "@Descripcion"    , this.MetodoPago.Descripcion),
                new SqlParameter( "@Activo"         , this.MetodoPago.Activo),
                new SqlParameter( "@EsTarjeta"      , this.MetodoPago.EsTarjeta)
            };

            this.Parameters = parameters;
        }

        private MetodoPago _metodoPago;

        public MetodoPago MetodoPago
        {
            get { return _metodoPago; }
            set { _metodoPago = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #region " MetodoPagoDescripcion Update "
    public class MetodoPagoDescripcion_Update : DataAccessBase
    {
        public MetodoPagoDescripcion_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoDescripcion_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoDescripcion_Update_Prm metodoPagoDescripcion_Update_Prm = new MetodoPagoDescripcion_Update_Prm(this.MetodoPagoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoDescripcion_Update_Prm.Parameters);

            return ds;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }
    }
    public class MetodoPagoDescripcion_Update_Prm
    {
        public MetodoPagoDescripcion_Update_Prm(MetodoPagoDescripcion metodoPagoDescripcion)
        {
            this.MetodoPagoDescripcion = metodoPagoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoDescripcion.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idIdioma"           , this.MetodoPagoDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"        , this.MetodoPagoDescripcion.Descripcion),
            };

            this.Parameters = parameters;
        }

        private MetodoPagoDescripcion _metodoPagoDescripcion;

        public MetodoPagoDescripcion MetodoPagoDescripcion
        {
            get { return _metodoPagoDescripcion; }
            set { _metodoPagoDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    #region " MetodoPagoZona Update "
    public class MetodoPagoZona_Update : DataAccessBase
    {
        public MetodoPagoZona_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoPagoZona_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoPagoZona_Update_Prm metodoPagoZona_Update_Prm = new MetodoPagoZona_Update_Prm(this.MetodoPagoZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoPagoZona_Update_Prm.Parameters);

            return ds;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }
    }
    public class MetodoPagoZona_Update_Prm
    {
        public MetodoPagoZona_Update_Prm(MetodoPagoZona metodoPagoZona)
        {
            this.MetodoPagoZona = metodoPagoZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoPago"       , this.MetodoPagoZona.MetodoPago.IdMetodoPago),
                new SqlParameter( "@idZona"             , this.MetodoPagoZona.Zona.IdZona),
                new SqlParameter( "@Activo"             , this.MetodoPagoZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoPagoZona _metodoPagoZona;

        public MetodoPagoZona MetodoPagoZona
        {
            get { return _metodoPagoZona; }
            set { _metodoPagoZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #endregion
}
